package hos.file;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;

import java.io.File;
import java.util.List;

import hos.file.provider.FileProviderX;
import hos.file.utils.FileUtils;
import hos.intent.IntentResult;

/**
 * <p>Title: FileResult </p>
 * <p>Description:  </p>
 * <p>Company: www.mapuni.com </p>
 *
 * @author : 蔡俊峰
 * @version : 1.0
 * @date : 2024-03-21 22:50
 */
public class FileResult {

    public static File getMedia(Context context, int resultCode,
                                Intent intent, Uri uri
    ) {
        Uri result2MediaUri = IntentResult.getMediaUri(resultCode, intent, uri);
        if (result2MediaUri == null) {
            return null;
        }
        File file = FileProviderX.uri2File(context, result2MediaUri);
        if (!FileUtils.isFileExists(context, file)) {
            return null;
        }
        return file.getAbsoluteFile();
    }

    public static File getFile(Context context, int resultCode,
                               Intent intent
    ) {
        Uri result2FileUri = IntentResult.getFileUri(resultCode, intent);
        if (result2FileUri == null) {
            return null;
        }
        File file = FileProviderX.uri2File(context, result2FileUri);
        if (!FileUtils.isFileExists(context, file)) {
            return null;
        }
        return file.getAbsoluteFile();
    }

    public static List<File> getFileList(Context context, int resultCode,
                                         Intent intent
    ) {
        List<Uri> result2FileUri = IntentResult.getFileListUri(resultCode, intent);
        if (result2FileUri == null) {
            return null;
        }
        return FileProviderX.uri2FileList(context, result2FileUri);
    }
}
